package com.crm.model.qo.contractManager;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author yincuimei
 * @Date 2021/3/12 15:09
 * 合同管理-合同列表查询条件实体
 */
@Data
public class CustomerContractQO {
    //数据类型(全部、会员产品合同、非会员产品合同)
    private Integer dataType;

    //日期类型(全部/本周/本月/本年度)
    private String dateType;

    //客户名称
    private String customerName;

    //客户ID
    private String customerId;

    //联系人名称
    private String contactName;

    //合同创建开始日期
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date createTmStart;

    //合同创建截止日期
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date createTmEnd;

    //合同开始日期(有效期)
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractStartDate;

    //合同结束日期(有效期)
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractEndDate;

    //合同开始日期开始时间
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractStartDateStart;

    //合同开始日期结束时间
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractStartDateEnd;

    //合同结束日期开始时间
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractEndDateStart;

    //合同结束日期结束时间
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date contractEndDateEnd;

    //合同编号
    private String contractNumber;

    //合同类型
    private String contractType;

    //合同状态(单选)
    private String contractStatus;

    //合同状态
    private List<String> contractStatusList;

    //回款状态
    private String paymentStatus;

    //是否特批
    private String specialApprovalStatus;

    //合同审核状态
    private String contractReviewStatus;

    //审核是否加盖公章
    private String applyElectronicContract;

    //合同总金额(区间-起价)
    private BigDecimal contractTotalAmountStart;

    //合同总金额(区间-止价)
    private BigDecimal contractTotalAmountEnd;

    //删除状态(0:正常;1:已删除)
    private short deleteStatus;

    //公司ID
    private String companyId;

    //账号ID
    private String accountId;

    //标识（0：管理端，1：用户端）
    private Short bs;

    //订单编号
    private String orderNumber;

    //合同起始金额
    private BigDecimal contractReceivablesStart;

    //合同结束金额
    private BigDecimal contractReceivablesEnd;
}
